User interface for editing photo tags

ABSTRACT

There is disclosed a user interface for editing photo tags. In an embodiment, the user interface embodies a method of editing photo tags, comprising: displaying a photo on a display; providing a photo tagging mode for editing tags for the displayed photo; and for each tag used to tag a subject or object in the photo, identifying the tag type and associating a unique pointer for each tag type to highlight the corresponding tagged subject or object. The method may further comprise: displaying a tag list of tags used to tag a subject or object in the photo; and identifying the tag type of each tag in the tag list. In an embodiment, context sensitive information may be accessed for each tag depending on the tag type.

FIELD OF THE INVENTION

The present invention relates generally to a user interface for editingphoto tags.

BACKGROUND

Identifying people or objects in photographs is popular in many onlinecontexts, such as photo sharing, social networking, etc. Typically,these online applications use point-and-click driven input methods toallow users to quickly identify specific points in a photograph. Forexample, after entering a ”tagging” mode, the user will click on thephoto at the point in the photo he wishes to identify and then enterinformation about that point. Later, there may be ways for the user togo back and view the information that was associated with the point inthe photo, either by “hovering” the mouse pointer over the identifyinginformation, or over the point in the photograph. However, on a wirelessmobile communication device where there are constraints on the size ofthe display and the flexibility of the input method, some of thesecommon techniques used on desktops and laptops with full sized screensdo not work as well.

What is needed is an improved user interface for editing photo tags in asmaller display, such as may be found on a wireless mobile communicationdevice.

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures which illustrate exemplary embodiments:

FIG. 1 is an illustration of a device in accordance with an embodiment;

FIG. 2 is a schematic block diagram of a communication subsystemcomponent in the device of FIG. 1;

FIGS. 3A to 3E are illustrative user interface screens for editing phototags in accordance with an embodiment;

FIGS. 4A to 4F are illustrative user interface screens for selecting aphoto tag in accordance with an embodiment;

FIG. 5 is an illustrative flowchart of a method for editing photo tagsin accordance with an embodiment; and

FIG. 6 is an illustrative flowchart of a method for selecting a phototag in accordance with an embodiment.

DETAILED DESCRIPTION

As noted above, the present invention relates to a user interface forediting photo tags, particularly within a smaller display, such as maybe found on a wireless mobile communication device.

In an illustrative embodiment, the invention may be practiced with ahandheld mobile communication device in a wireless operatingenvironment. Shown in FIG. 1 is a schematic block diagram of anillustrative handheld mobile communication device 100. The communicationdevice 100 may comprise a number of components, including a mainprocessor 102 which controls the overall operation of communicationdevice 100. Communication functions, including data and voicecommunications, may be performed through a communication subsystem 104.The communication subsystem 104 may receive messages from and sendmessages to a wireless network 200.

The main processor 102 may also interact with additional subsystems suchas a random access memory (RAM) 106, a flash memory 108, a display 110,an auxiliary input/output (I/O) subsystem 112, a data port 114, akeyboard 116, a trackball 117, a speaker 118, a microphone 120,short-range communications 122, a GPS subsystem 124, a camera module126, and associated camera logic 128.

Some of the subsystems of the communication device 100 may performcommunication-related functions, whereas other subsystems may provide“resident” or on-device functions. By way of example, the display 110and the keyboard 116 may be used for both communication-relatedfunctions, such as entering a text message for transmission over thenetwork 200, and device-resident functions such as a calculator or tasklist. The trackball 117 may be used for various navigation functions,such as navigating through a graphical user interface (GUI) menudisplayed on display 110. The trackball 117 may also be configured witha secondary actuation feature, such as allowing a user to depress thetrackball, to allow selection of a highlighted item.

The camera module 126 may be adapted to capture an image through a lensonto a light sensitive image sensor such as a charge coupled device(CCD) sensor array or a complementary metal oxide semiconductor (CMOS)sensor array. The camera lens may be a fixed focus lens, or a variablefocus lens with or without zoom features and controlled by camera logic128 to focus an image onto the CCD or CMOS sensor array. The size andpixel density of the CCD or CMOS sensor array may be suitably selectedfor the image resolution required for a particular application. Cameralogic 128 may also control the camera lens aperture and/or shutter speedby incorporating a suitable light exposure meter. Image capture usingcamera module 126 may initiated by a user controlling a dedicated camerashutter, or a context dependent programmable button or key (on keyboard116, for example) that may act as a camera shutter button.

Once captured by the CCD or CMOS sensor array, the image may then beprocessed by camera logic 128 into a suitable digital image file formatsuch as Joint Photographic Experts Group (JPEG), Tagged-Image FileFormat (TIFF), Bit Mapping (BMP), different variations on these standardimage file formats, or a vendor proprietary RAW image format. The imagefile format may allow for the addition of image meta-data to an imagefile in an industry standards exchangeable image file format (EXIF), orin some vendor proprietary meta-data format. The image file may then bestored in available device storage such as RAM 106 or flash memory 108,and displayed on display 110.

Still referring to FIG. 1, operating system software used by the mainprocessor 102 is typically stored in a persistent store such as flashmemory 108. Those skilled in the art will appreciate that the operatingsystem, specific device applications, or parts thereof, may betemporarily loaded into a volatile store, such as the RAM 106, forprocessing by main processor 102.

The communication device 100 may send and receive communication signalsover the wireless network 200 after required network registration oractivation procedures have been completed. Network access may beassociated with a subscriber or user of the communication device 100.

The communication device 100 may be a battery-powered device and mayinclude a battery interface 132 for receiving one or more rechargeablebatteries 130. In some embodiments, the battery 130 may be a smartbattery with an embedded microprocessor. The battery interface 132 iscoupled to a regulator (not shown), which assists the battery 130 inproviding power V+ to the communication device 100. The battery 130 maybe used to power all components and modules in the communication device100, including the camera module 126 and associated camera logic 128.

The main processor 102, in addition to its operating system functions,enables execution of various software applications 134 on thecommunication device 100. A subset of software applications 134 thatcontrol basic device operations, including data and voice communicationapplications, will normally be installed on the communication device 100during its manufacture.

The software applications 134 may include a messaging application 136.The messaging application 136 can be any suitable software program thatallows a subscriber or user of the communication device 100 to send andreceive wireless text communications. Various alternatives exist for themessaging application 136 as is well known to those skilled in the art.Messages that have been sent or received by the user are typicallystored in local storage such as flash memory 108 of the communicationdevice 100, or in some other suitable storage element in thecommunication device 100. In an alternative embodiment, some of the sentand received messages may be stored remotely from the communicationdevice 100 such as in a data store of an associated host system that thecommunication device 100 communicates with. In an embodiment, themessaging application 136 may include a Message List user interface thatis configured to allow a user to see a list of message objects (i.e.email messages) in a convenient list form. This will be described indetail further below.

Still referring to FIG. 1, communication device 100 may execute an ImageApplications Module 148 that may be operatively integrated with cameramodule 126, camera logic 128, main processor 102, RAM 106, display 110and various other modules and components to provide various imageapplication functions for the images captured by the camera module 126.Image Applications Module 148 may include various sub modules which mayinteract with each other, and with other application modules such as themessaging application 136, Internet browser module 138, address bookmodule 142, etc. in order to perform various functions.

In an embodiment, one of the sub modules of the Image ApplicationsModule 148 may be a photo tagging module 148A configured to allow a userto identify various subjects and objects within a photo. Photo taggingmodule 148A will be discussed in more detail further below.

In an embodiment, another of the sub modules of the Image ApplicationsModule 148 may be a photo tagging module 148A configured to allow a userto select a photo tag from a list of tags associated with varioussubjects and objects within a photo. Photo tag selection module 148Bwill be discussed in more detail further below.

The communication device 100 may further include a device state module140, an address book 142, a Personal Information Manager (PIM) 144, andvarious other modules 150. Additional software applications may also beloaded onto the communication device 100 through at least one of thewireless network 200, the auxiliary I/O subsystem 112, the data port114, the short-range communications subsystem 122, or other devicesubsystem 124.

Now referring to FIG. 2, shown is an illustrative front view of ahandheld mobile communication device 100 that may provide a suitableoperating environment. As shown, the communication device 100 mayinclude a display 110, a keyboard 116, and other input or navigationmeans such as a trackball 117. The display 110 may be configured todisplay various screens allowing the user of device 100 to view screenoutputs from the various software applications 134, including the imageapplications 148. Display 110 may also be configured to provide atouch-sensitive screen input in response to a prompt or query displayedon display 110. The communication device 100 may further include acamera lens that may be used to capture an image as described above withreference to FIG. 1. In an embodiment, the integrated camera 126 mayprovide a camera lens 127 on the back of the communication device 100,such that a user may use the display 110 as a camera viewfinder forframing an image.

Now referring to FIG. 3A, shown is an illustrative user interface screen300A in which photo tagging module 148A may be configured for tagging aphotograph in accordance with an embodiment. As shown, a photo 301 of asubject 302 is displayed within the boundaries of the user interface.With this user interface, a tag list 304 may include various tagsassociated subject 302 or other subjects or objects within the photo301. The user may click an “Add” button 306 in order to enter a phototagging mode as described below.

Now referring to FIG. 3B, as shown in screen 300B, once in the phototagging mode, the photo tagging module 148A may be configured to displayto the user a pointer, such as cross-hair pointer 308 on the photo 301.The user may move the cross-hair pointer 308 around the photo 301, butunlike common web browser interfaces, the cross-hair pointer 308 may beconstrained by the photo tagging module 148A to be navigable only withinthe boundaries of the photo 301. The user does not have the ability tomove the cross-hair pointer around the rest of the screen and performother tasks, and the navigation device (e.g. trackball 117) is thusdedicated to this photo tagging function until the user exits taggingmode. As will be appreciated, this may allow users to avoidinadvertently clicking on some button or menu option just outside of theborders photo 301 when attempting to tag a subject or object near anedge of the photo. This may be particularly useful on a smaller display,where greater dexterity may be required in order to navigate within asmall area using a small navigation device.

When in tagging mode, the user may cancel tagging mode using the escapekey and return to simply viewing the existing tag information.Alternatively, the user may choose to add a tag at the current locationof the crosshair pointer 308 using an enter key or clicking on thenavigation device (e.g. trackball 117).

If the user chooses to add a tag, the user may be presented with anotheruser interface to select the tag type and the context informationassociated with the tag. As an illustrative example, the tag types couldinclude a free-form alphanumeric string, Facebook™ friends, address bookentries (in address book 142), browser bookmarks (in Internet browsermodule 138), etc.

Now referring to FIG. 3C, as shown by way of illustration in screen300C, when a tag has been added by a user using photo tagging module148A, the added tag 310 associated with subject 302 may appear in thetag list 304 near the photo 301.

In an embodiment, the tag 310 could also include an icon, or some othertype of visual indicator adjacent the tag 310, indicating what type oftag it is. Thus, many different types of tags may be used to tagsubjects or objects in the photo 301.

Now referring to FIG. 3D, as shown by illustration in screen 300D, whenthe user scrolls over the tag 310 in the tag list 304, the correspondingsubject 302 in the photo may be highlighted by the photo tagging module148A in some way. This highlighting could be different, depending onwhat type of tag it is. For example, for a Facebook™ friend the pointercould be a grey square pointer 312 (e.g. like Facebook uses online). Asanother example shown in screen 300E of FIG. 3E, for a free-form texttag 314, the tagged point in the photo 301 could be indicated with acircle pointer 316.

When the user scrolls over a tag 310 in the tag list 304, a menu may beactivated with options associated with the tag. For example, there maybe menu items to edit or delete the tag. There may also be contextsensitive menu options associated with the specific tag type. Forexample, for a Facebook friend there may be an item to view the friend'sFacebook profile. For an address book entry, there may be an item toview the user's address card. For a browser bookmark, there may be anitem to visit that website.

In another embodiment, once subjects or objects have been tagged in thephoto 301, photo tagging module 148A may be configured such that uponuser selection of a tag 310 in the tag list 304 the corresponding taggedsubject or object in the photo 301 may be highlighted using thecorresponding pointer identifying the tag type.

In another embodiment, once subjects (e.g. subject 302) or objects havebeen tagged in the photo 301, photo tagging module 148A may beconfigured such that upon user selection of or scrolling over a taggedsubject or object in the photo 301, the corresponding tag 310 may behighlighted in the tag list 304. As well, context data associated withthe tag may be displayed (e.g. in a pop-up window) upon user selection,or automatically if so configured.

Thus, using the above described user interface, a plurality of tag typesmay be used to tag subjects and objects in a photo, and a type-specificdata may be associated with each tag—such as the visual indicator orsymbol used to highlight the tagged subject or object in the photo, thecustom actions available for the tag, etc.

Now referring to FIG. 4A, shown in screen 400A is an illustrative tagselection user interface 404 for displaying a tag search facility as maybe presented by photo tag selection module 148B. As shown in FIG. 4A,the user is initially presented with a tag entry field 406 indicatingthat he should start typing a tag. Upon completion of typing, the usermay click “OK” 408 to select the tag.

In an embodiment, as the user begins to type, photo tag selection module148B may be configured to search one or more selected “tag sources” fortags that match the currently entered text. As shown by way ofillustration in screen 400B of FIG. 4B, these tag sources could include,for example, a list of friends from an online service like Facebook™, alist of contacts from the user's address book 142, a list of the user'sbrowser bookmarks (in Internet browser 138), a cache of recent free-formtext entries, etc.

As shown in screen 400C of FIG. 4C, and 400D of FIG. 4D, photo tagselection module 148B may be configured to display any matching tags(e.g. 412 a, 412 b, 412 c) from one of the tag sources to the tag beingtyped by the user in the tag entry field 406 in a matching tag list 412.Each tag may have an icon or some other visual identifier associatedwith it that clearly indicates its type, and allows the user to quicklydistinguish between different types of tags.

If the user types text that does not match any tag from the tag sourcesin the matching tag list 412, the photo tag selection module 148B maycreate a new free-form tag entry and add it to a free-form text cache asa new tag entry. The free-form text cache may then become one of the tagsources for any subsequent tag selection by the user.

As the user continues to type, if a tag that the user wishes to selectappears in the matching tag list 412, the user can scroll to the tag inthe matching tag list 412 and select it by pressing enter or clicking onthe navigation device (e.g. trackball 117). For example, as shown inscreen 400E of FIG. 4E, the user may select a tag 412 c which may thenbe placed into the tag entry field 406. The matching tag list 412 thendisappears, and the selected tag may appear beside the photo (e.g. tag310 as shown in FIG. 3C associated with subject 302 in the photo 301).

Significantly, as the matching tag list 412 includes possible tags thatmay be used from various selected tag sources (such as the user'sFacebook friends, the user's address book 142, a list of the user'sbrowser bookmarks from Internet browser 138, a cache of the recentfree-form text entries, etc.), the user is provided with a simple way toassociate subjects or objects in a photo with a predefined “tag” fromone of a number of selected tag sources, as may be defined by the user.Thus, the free-form text cache would just be one of many possible tagsources, all of which contribute matching tag entries to the matchingtag list 412.

Now referring to FIG. 4F, once a tag has been entered into the tag entryfield 406, photo tag selection module 148B may be configured to allowthe user to choose to view some context data associated with the tag(e.g. an address card if the tag identifies a contact in the user'saddress book 142). Finally, photo tag selection module 148B may beconfigured to allow the user to accept the new tag and return to thephoto tagging user interface (described above with respect to FIGS. 3Ato 3E), or cancel the tag selection and return to the photo tagging userinterface.

In an embodiment, in addition to the tag sources mentioned above,another type of tag source may be landmark tags with associatedgeographic location information. For example, if a photo contains anumber of distinctive landmarks, it may be possible for each landmark tobe tagged with a unique geographic location tag (e.g. specific latitudeand longitude coordinates for each landmark). Such a list of geographiclocation tags may be obtained, for example, as a user visits each of thelandmarks identified in the photo.

For example, an aerial photo of the National Mall in Washington DC mayshow a number of famous landmarks such as the Lincoln Memorial, VietnamVeterans Memorial, and The Washington Monument in the same photo. A userwho has visited each of these landmarks, provided appropriate names, andrecorded geographic location information at each landmark location maythen subsequently select a landmark tag by name from the preparedlandmark tag list in order to tag the appropriate points in the photo atwhich each of the landmarks appear. Once a user tags each landmarkappearing in the photo using the appropriate landmark tag, thecorresponding geographic coordinates also become available as contextbased information accessible through the tag.

In an alternative embodiment, a list of famous landmarks for variouscities may be prepared by a third party such that a user need not be ateach location to record the geographic coordinates. In this case alandmark tag may be selected by a user from a prepared landmark listthat may be selected as one of the tag sources.

In the tag selection interface described above, each tag may have somecontext associated with it, depending on the tag type. As will beappreciated, this associated context may allow the user to visuallyidentify and differentiate between the tag types in the tag selectionuser interface 404, and present other context sensitive menu options,such as viewing associated address cards, Facebook profiles, websites,geographic location information for landmarks, etc.

Now referring to FIG. 5, shown is a flowchart of an illustrative method500 in accordance with an embodiment. As shown, method 500 begins and atblock 502 where method 500 displays a photo in a display (e.g. display110) to be tagged.

Method 500 then proceeds to block 504, where method 500 may configurephoto tagging module 148A to provide a photo tagging mode for editingtags for the displayed photo.

Method 500 may then proceed to block 506, where for each tag used to taga subject or object in the photo, method 500 may configure photo taggingmodule 148A to identify the tag type and associate a unique pointer foreach tag type to highlight the corresponding tagged subject or object.For example, as described earlier, a grey square could be used forFacebook friends, and another shape and/or colour may be used foraddress book tag types.

Method 500 may then proceed to block 508, where method 500 may configurephoto tagging module 148A to display a tag list with the displayedphoto.

Method 500 may then proceed to block 510, where method 500 may configurephoto tagging module 148A to identify the tag type of each tag in thetag list using a visual identifier. For example, the visual identifiermay be an icon, or some suitable graphic appearing beside a tag name.

Method 500 may then proceed to block 512, where upon user selection of atag in the tag list, method 500 may configure photo tagging module 148Ato highlight the associated tagged subject or object in the photo usingthe unique pointer.

Method 500 may then proceed to block 514, where upon user selection of atag in the tag list, method 500 may configure photo tagging module 148Ato highlight the associated tag in the tag list.

Method 500 may also proceed to block 516, where method 500 may configurephoto tagging module 148A to display context data associated with a tag.For example, context data associated with an address book type may bethe email address, name, and other information stored in the addressbook module 138 for the corresponding address book entry. In anembodiment, the context data associated with the tag could be displayedwithin a menu that may be accessed by a suitable menu selectionassociated with each tag. Method 500 then ends.

Method 500 may also proceed to block 518, where method 500 may configurephoto tagging module 148A to constrain the navigation device pointer tobe navigable only within the boundaries of the photo.

Now referring to FIG. 6, shown is a flowchart of an illustrative method600 in accordance with an embodiment. As shown, method 600 begins and atblock 602 where method 600 provides a tag entry field for identifying aphoto tag.

Method 600 may then proceed to block 604, where in dependence upon astring entered by the user in the tag entry field, method 600 mayconfigure photo tag selection module 148B to display in a matching taglist 412 any tags (412 a, 412 b, 412 c) matching the entered string.

Method 600 may then proceed to block 606, where method 600 may configurephoto tag selection module 148B to display a tag type for each tagappearing in the matching tag list 412. For example, the visualidentification may be an icon, or other suitable graphic identificationappearing with the tag name.

Method 600 may then proceed to block 608, where method 600 may configurephoto tag selection module 148B to order the matching tags in the taglist by tag type in order to make is easier for the user to select asuitable tag by tag type.

Method 600 may also proceed to block 610, where method 600 may configurephoto tag selection module 148B to allow user selection of a tag in thematching tag list to complete the tag entry field 406.

Method 600 may then proceed to block 612, where if there are notmatching tags appearing in the matching tag list 412, then method 600may add the new free-from text tag to a free-form text tag cache.

Method 600 may then proceed to block 614, where method 600 may configurephoto tag selection module 148B to select the free-form text tag cacheas one of the tag sources for any subsequent tag selection by the user.Method 600 then ends.

Thus, in accordance with an embodiment, there is provided a method ofediting photo tags, comprising: displaying a photo on a display;providing a photo tagging mode for editing tags for the displayed photo;and for each tag used to tag a subject or object in the photo,identifying the tag type and associating a unique pointer for each tagtype to highlight the corresponding tagged subject or object.

In an embodiment, the method further comprises: displaying a tag list oftags used to tag a subject or object in the photo; and identifying thetag type of each tag in the tag list.

In another embodiment, the method further comprises displaying a uniquevisual identifier to identify the tag type of each tag in the tag list.

In another embodiment, the method further comprises highlighting, uponuser selection of a tag in the displayed tag list, the associatedsubject or object in the photo using the unique pointer associated withthe tag type.

In another embodiment, the method further comprises highlighting, uponuser selection of a tagged subject or object in the photo, theassociated tag in the tag list.

In another embodiment, the method further comprises displaying contextdata associated with the highlighted tag in the tag list.

In another embodiment, the method further comprises providing a usercontrollable navigational device pointer operable in the photo taggingmode and navigable only within the boundaries of the photo to tag asubject or object in the photo.

In another aspect of the invention, there is provided a system forediting photo tags, comprising: means for displaying a photo on adisplay; means for providing a photo tagging mode for editing tags forthe displayed photo; and means identifying the tag type for each tagused to tag a subject or object in the photo, and associating a uniquepointer for each tag type to highlight the corresponding tagged subjector object.

In an embodiment, the system further comprises: means for displaying atag list of tags used to tag a subject or object in the photo; and meansfor identifying the tag type of each tag in the tag list.

In an embodiment, the system further comprises means for displaying aunique visual identifier to identify the tag type of each tag in the taglist.

In another embodiment, the system further comprises means forhighlighting, upon user selection of a tag in the displayed tag list,the associated subject or object in the photo using the unique pointerassociated with the tag type.

In another embodiment, the system further comprises means forhighlighting, upon user selection of a tagged subject or object in thephoto, the associated tag in the tag list.

In another embodiment, the system further comprises means for displayingcontext data associated with the highlighted tag in the tag list.

In an embodiment, the system further comprises a user controllablenavigational device pointer operable in the photo tagging mode andnavigable only within the boundaries of the photo to tag a subject orobject in the photo.

In another aspect of the invention, there is provided a data processorreadable medium containing data processor code that when loaded into adevice adapts the device to edit photo tags, the data processor readablemedium comprising: code for displaying a photo on a display; code forproviding a photo tagging mode for editing tags for the displayed photo;and code for identifying, for each tag used to tag a subject or objectin the photo, the tag type and associating a unique pointer for each tagtype to highlight the corresponding tagged subject or object.

In an embodiment, the data processor readable medium further comprises:code for displaying a tag list of tags used to tag a subject or objectin the photo; and code for identifying the tag type of each tag in thetag list.

In another embodiment, the data processor readable medium furthercomprises code for displaying a unique visual identifier to identify thetag type of each tag in the tag list.

In an embodiment, the data processor readable medium further comprisescode for highlighting, upon user selection of a tag in the displayed taglist, the associated subject or object in the photo using the uniquepointer associated with the tag type.

In an embodiment, the data processor readable medium further comprisescode for highlighting, upon user selection of a tagged subject or objectin the photo, the associated tag in the tag list.

In an embodiment, the data processor readable medium further comprisescode for providing a user controllable navigational device pointeroperable in the photo tagging mode and navigable only within theboundaries of the photo to tag a subject or object in the photo.

While illustrative embodiments have been described above, it will beappreciated that various changes and modifications may be made. Moregenerally, the scope of the invention is defined by the followingclaims.

1. A method of editing photo tags, comprising: displaying a photo on adisplay; providing a photo tagging mode for editing tags for thedisplayed photo; and for each tag used to tag a subject or object in thephoto, identifying the tag type and associating a unique pointer foreach tag type to highlight the corresponding tagged subject or object.2. The method of claim 1, further comprising: displaying a tag list oftags used to tag a subject or object in the photo; and identifying thetag type of each tag in the tag list.
 3. The method of claim 2, furthercomprising displaying a unique visual identifier to identify the tagtype of each tag in the tag list.
 4. The method of claim 2, furthercomprising: upon user selection of a tag in the displayed tag list,highlighting the associated subject or object in the photo using theunique pointer associated with the tag type.
 5. The method of claim 2,further comprising: upon user selection of a tagged subject or object inthe photo, highlighting the associated tag in the tag list.
 6. Themethod of claim 5, further comprising: displaying context dataassociated with the highlighted tag in the tag list.
 7. The method ofclaim 1, further comprising providing a user controllable navigationaldevice pointer operable in the photo tagging mode and navigable onlywithin the boundaries of the photo to tag a subject or object in thephoto.
 8. A system for editing photo tags, comprising: means fordisplaying a photo on a display; means for providing a photo taggingmode for editing tags for the displayed photo; and means identifying thetag type for each tag used to tag a subject or object in the photo, andassociating a unique pointer for each tag type to highlight thecorresponding tagged subject or object.
 9. The system of claim 8,further comprising: means for displaying a tag list of tags used to taga subject or object in the photo; and means for identifying the tag typeof each tag in the tag list.
 10. The system of claim 9, furthercomprising means for displaying a unique visual identifier to identifythe tag type of each tag in the tag list.
 11. The system of claim 9,further comprising: means for highlighting, upon user selection of a tagin the displayed tag list, the associated subject or object in the photousing the unique pointer associated with the tag type.
 12. The system ofclaim 9, further comprising: means for highlighting, upon user selectionof a tagged subject or object in the photo, the associated tag in thetag list.
 13. The system of claim 12, further comprising means fordisplaying context data associated with the highlighted tag in the taglist.
 14. The system of claim 9, further comprising a user controllablenavigational device pointer operable in the photo tagging mode andnavigable only within the boundaries of the photo to tag a subject orobject in the photo.
 15. A data processor readable medium containingdata processor code that when loaded into a device adapts the device toedit photo tags, the data processor readable medium comprising: code fordisplaying a photo on a display; code for providing a photo tagging modefor editing tags for the displayed photo; and code for identifying, foreach tag used to tag a subject or object in the photo, the tag type andassociating a unique pointer for each tag type to highlight thecorresponding tagged subject or object.
 16. The data processor medium ofclaim 15, further comprising: code for displaying a tag list of tagsused to tag a subject or object in the photo; and code for identifyingthe tag type of each tag in the tag list.
 17. The data processor mediumof claim 16, further comprising code for displaying a unique visualidentifier to identify the tag type of each tag in the tag list.
 18. Thedata processor medium of claim 16, further comprising: code forhighlighting, upon user selection of a tag in the displayed tag list,the associated subject or object in the photo using the unique pointerassociated with the tag type.
 19. The data processor medium of claim 16,further comprising: code for highlighting, upon user selection of atagged subject or object in the photo, the associated tag in the taglist.
 20. The data processor medium of claim 15, further comprising codefor providing a user controllable navigational device pointer operablein the photo tagging mode and navigable only within the boundaries ofthe photo to tag a subject or object in the photo.